package com.yoki.cloud.common.code.bean;

import com.yoki.cloud.common.code.db.property.DBTableProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;

/**
* @Description: 代码生成器封装实体
* @author kissy
* @date 2017/10/24 下午4:37
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class EntityBean {

	/** 实体类名字 */
	private String className;
	/** 实体类对象名字 */
	private String classObjectName;

	/**表名称 */
	private String tableName;
	/** 基础包 */
	private String basePackage;
	/** 模块名称 */
	private String moduleName;

	/** 主键数据类型，String,Integer */
	private String primaryKeyType;
	/** 主键名称 */
	private String keyName;
	/** 主键名称首字母大写 */
	private String keyNameUp;
	/** 主键数据库名称 */
	private String keyDbName;

	/**表描述*/
	private String remarks;

	/**
	 * 访问权限 private、default、protected、public
	 */
	private String authority;

	/** 类字段集合 */
	private List<FieldBean> fields ;

	/**
	 * 包导入
	 */
	private Set<String> importSet = new LinkedHashSet<>();

	private DBTableProperty dbTableProperty;


	public Boolean addImport(String i) {
		return importSet.add(i);
	}

	public Boolean removeImport(String i) {
		return importSet.remove(i);
	}

}